home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FM Towns: Free Software Collection 10
/
FM Towns Free Software Collection 10.iso
/
ms_dos
/
lib
/
happysrc
/
hapai.h
next >
Wrap
Text File
|
1994-10-20
|
4KB
|
66 lines
/*********************************************************************
* *
* HAPPy assembler & interpriter common header *
* *
* Copyright (c) H.Asano 1992-1994. *
* *
*********************************************************************/
#define Maxstore 13000 /* 記憶装置の大きさ(ワード数) */
#define Maxint 2147483647L /* 最大整数値 */
#define Largeint 32768L /* shortより大きい数 */
#define NilValue Maxstore + 1 /* ポインタのnilの値 */
#define inputadr 5 /* input バッファアドレス */
#define outputadr 6 /* outputバッファアドレス */
#define MaxIDlng 32 /* 名前の最大識別可能文字数 */
#define MaxRFlen 32 /* 実ファイル名の最大長 */
#define Maxfileno 8 /* 最大ファイル数(input,output以外)*/
#define addset(Set,pos) ((Set) |= ( (long)1 << (pos) ))
typedef long integer ; /* integer は long型とする */
typedef enum bool {false , /* 偽 */
true /* 真 */
} boolean ; /* pascalのboolean型と同じ */
typedef struct { /********* 命令格納域 型定義 */
unsigned char op ; /* operation */
char p ; /* p operand */
short q ; /* q operand */
} _code ;
typedef union { /****** 記憶装置 型定義 */
integer vi ; /* integer */
float vr ; /* real */
short vb ; /* boolean */
long vs ; /* set (0..31) */
short vc ; /* char */
short va ; /* address */
_code vo ; /* object code */
} _store ;
typedef enum fmode {
undefined , /* 不定 */
inspection , /* 検査モード */
generation /* 生成モード */
} fmode ;
typedef struct fileinfo { /* ファイル情報テーブル */
char filename[MaxIDlng+1] ; /* 外部ファイル 論理ファイル名 */
boolean askflag ; /* 実ファイル名を問い合わせる時 真 */
short fileadr ; /* P-code上の ファイル変数アドレス */
short filesize ; /* バッファ変数の大きさ */
char rfname[MaxRFlen+1] ; /* 実ファイル名 */
_store *filebuf ; /* バッファ変数アドレス */
boolean textfile ; /* テキストファイルの時 真 */
boolean eolnflag ; /* テキストファイルのeolnの時 真 */
boolean writelnflag; /* 最後が改行の時 真 */
FILE *fp ; /* ファイルポインタ */
fmode mode ; /* 生成モード / 検査モード / 不定 */
} fileinfo ;
EXTERN fileinfo fi[Maxfileno+2] ;